package org.shj.basic.traitdemo

trait Doubling extends IntQueue{ //trait 继承某个类后，这个trait只能混入此类的子类中
  abstract override def put(x: Int) { //在IntQueue中，put是一个抽象方法，这里的方法体中的super.put() 其实调用的是IntQueue实现类里的方法，
    println("In Doubling trait")
    super.put(2 * x)                  //因此此方法仍然需要定义为abstract。 
                                      //trait 方法里的 super调用是动态绑定的
  }
  
}